<!DOCTYPE html>

















































<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <meta name="description" content="Javadoc API documentation for Fresco." />

<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" />
<title>

  BaseDataSubscriber - Fresco API


| Fresco

</title>
<link href="../../../../assets/doclava-developer-docs.css" rel="stylesheet" type="text/css" />
<link href="../../../../assets/customizations.css" rel="stylesheet" type="text/css" />
<script src="../../../../assets/search_autocomplete.js" type="text/javascript"></script>
<script src="../../../../assets/jquery-resizable.min.js" type="text/javascript"></script>
<script src="../../../../assets/doclava-developer-docs.js" type="text/javascript"></script>
<script src="../../../../assets/prettify.js" type="text/javascript"></script>
<script type="text/javascript">
  setToRoot("../../../", "../../../../assets/");
</script>
<script src="../../../../assets/doclava-developer-reference.js" type="text/javascript"></script>
<script src="../../../../assets/navtree_data.js" type="text/javascript"></script>
<script src="../../../../assets/customizations.js" type="text/javascript"></script>
<noscript>
  <style type="text/css">
    html,body{overflow:auto;}
    #body-content{position:relative; top:0;}
    #doc-content{overflow:visible;border-left:3px solid #666;}
    #side-nav{padding:0;}
    #side-nav .toggle-list ul {display:block;}
    #resize-packages-nav{border-bottom:3px solid #666;}
  </style>
</noscript>
</head>

<body class="">

<div id="header">
    <div id="headerLeft">
    
      <span id="masthead-title">Fresco</span>
    
    </div>
    <div id="headerRight">
      
  <div id="search" >
      <div id="searchForm">
          <form accept-charset="utf-8" class="gsc-search-box" 
                onsubmit="return submit_search()">
            <table class="gsc-search-box" cellpadding="0" cellspacing="0"><tbody>
                <tr>
                  <td class="gsc-input">
                    <input id="search_autocomplete" class="gsc-input" type="text" size="33" autocomplete="off"
                      title="search developer docs" name="q"
                      value="search developer docs"
                      onFocus="search_focus_changed(this, true)"
                      onBlur="search_focus_changed(this, false)"
                      onkeydown="return search_changed(event, true, '../../../')"
                      onkeyup="return search_changed(event, false, '../../../')" />
                  <div id="search_filtered_div" class="no-display">
                      <table id="search_filtered" cellspacing=0>
                      </table>
                  </div>
                  </td>
                  <td class="gsc-search-button">
                    <input type="submit" value="Search" title="search" id="search-button" class="gsc-search-button" />
                  </td>
                  <td class="gsc-clear-button">
                    <div title="clear results" class="gsc-clear-button">&nbsp;</div>
                  </td>
                </tr></tbody>
              </table>
          </form>
      </div><!-- searchForm -->
  </div><!-- search -->
      
    </div>
</div><!-- header -->


  <div class="g-section g-tpl-240" id="body-content">
    <div class="g-unit g-first side-nav-resizable" id="side-nav">
      <div id="swapper">
        <div id="nav-panels">
          <div id="resize-packages-nav">
            <div id="packages-nav">
              <div id="index-links">
                <a href="../../../packages.html"  >Package Index</a> | 
                <a href="../../../classes.html" >Class Index</a>
              </div>
              <ul>
                
    <li class="api apilevel-">
  <a href="../../../com/facebook/binaryresource/package-summary.html">com.facebook.binaryresource</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/cache/common/package-summary.html">com.facebook.cache.common</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/cache/disk/package-summary.html">com.facebook.cache.disk</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/common/disk/package-summary.html">com.facebook.common.disk</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/common/internal/package-summary.html">com.facebook.common.internal</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/common/logging/package-summary.html">com.facebook.common.logging</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/common/memory/package-summary.html">com.facebook.common.memory</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/common/references/package-summary.html">com.facebook.common.references</a></li>
    <li class="selected api apilevel-">
  <a href="../../../com/facebook/datasource/package-summary.html">com.facebook.datasource</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/backends/pipeline/package-summary.html">com.facebook.drawee.backends.pipeline</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/backends/volley/package-summary.html">com.facebook.drawee.backends.volley</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/controller/package-summary.html">com.facebook.drawee.controller</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/drawable/package-summary.html">com.facebook.drawee.drawable</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/generic/package-summary.html">com.facebook.drawee.generic</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/interfaces/package-summary.html">com.facebook.drawee.interfaces</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/drawee/view/package-summary.html">com.facebook.drawee.view</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/animated/base/package-summary.html">com.facebook.imagepipeline.animated.base</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/animated/factory/package-summary.html">com.facebook.imagepipeline.animated.factory</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/animated/impl/package-summary.html">com.facebook.imagepipeline.animated.impl</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/animated/util/package-summary.html">com.facebook.imagepipeline.animated.util</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/backends/okhttp3/package-summary.html">com.facebook.imagepipeline.backends.okhttp3</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/bitmaps/package-summary.html">com.facebook.imagepipeline.bitmaps</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/cache/package-summary.html">com.facebook.imagepipeline.cache</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/common/package-summary.html">com.facebook.imagepipeline.common</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/core/package-summary.html">com.facebook.imagepipeline.core</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/datasource/package-summary.html">com.facebook.imagepipeline.datasource</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/decoder/package-summary.html">com.facebook.imagepipeline.decoder</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/image/package-summary.html">com.facebook.imagepipeline.image</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/listener/package-summary.html">com.facebook.imagepipeline.listener</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/memory/package-summary.html">com.facebook.imagepipeline.memory</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/producers/package-summary.html">com.facebook.imagepipeline.producers</a></li>
    <li class="api apilevel-">
  <a href="../../../com/facebook/imagepipeline/request/package-summary.html">com.facebook.imagepipeline.request</a></li>
              </ul><br/>
            </div> <!-- end packages -->
          </div> <!-- end resize-packages -->
          <div id="classes-nav">
            <ul>
              
    <li><h2>Interfaces</h2>
      <ul>
          <li class="api apilevel-"><a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt;</li>
          <li class="api apilevel-"><a href="../../../com/facebook/datasource/DataSubscriber.html">DataSubscriber</a>&lt;T&gt;</li>
      </ul>
    </li>
              
    <li><h2>Classes</h2>
      <ul>
          <li class="api apilevel-"><a href="../../../com/facebook/datasource/AbstractDataSource.html">AbstractDataSource</a>&lt;T&gt;</li>
          <li class="selected api apilevel-"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html">BaseDataSubscriber</a>&lt;T&gt;</li>
          <li class="api apilevel-"><a href="../../../com/facebook/datasource/DataSources.html">DataSources</a></li>
      </ul>
    </li>
              
              
              
              
            </ul><br/>
          </div><!-- end classes -->
        </div><!-- end nav-panels -->
        <div id="nav-tree" style="display:none">
          <div id="index-links">
            <a href="../../../packages.html"  >Package Index</a> | 
            <a href="../../../classes.html" >Class Index</a>
          </div>
        </div><!-- end nav-tree -->
      </div><!-- end swapper -->
    </div> <!-- end side-nav -->
    <script>
      if (!isMobile) {
        $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
        chooseDefaultNav();
        if ($("#nav-tree").is(':visible')) {
          init_default_navtree("../../../");
        } else {
          addLoadEvent(function() {
            scrollIntoView("packages-nav");
            scrollIntoView("classes-nav");
          });
        }
        $("#swapper").css({borderBottom:"2px solid #aaa"});
      } else {
        swapNav(); // tree view should be used on mobile
      }
    </script>



<div class="g-unit" id="doc-content">

<div id="api-info-block">



  
   
  
  
  
  

  
   
  
  
  
  


<div class="sum-details-links">


Summary:









  <a href="#pubctors">Ctors</a>
  



  &#124; <a href="#pubmethods">Methods</a>
  


  &#124; <a href="#promethods">Protected Methods</a>
  


  &#124; <a href="#inhmethods">Inherited Methods</a>

&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>

</div><!-- end sum-details-links -->
<div class="api-level">
  


  
  

</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public
     
     
    abstract
    class
<h1>BaseDataSubscriber</h1>



  
    extends Object<br/>
  
  
  

  
  
      implements 
      
        <a href="../../../com/facebook/datasource/DataSubscriber.html">DataSubscriber</a>&lt;T&gt; 
      
  
  


</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">


    <tr>
         	
        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
    </tr>
    

    <tr>
        
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
         	
        <td colspan="1" class="jd-inheritance-class-cell">com.facebook.datasource.BaseDataSubscriber&lt;T&gt;</td>
    </tr>
    

</table>




<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">

  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
          ><img id="subclasses-direct-trigger"
          src="../../../../assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>Known Direct Subclasses

  <div id="subclasses-direct">
      <div id="subclasses-direct-list"
              class="jd-inheritedlinks"
              
              >
          
            
              <a href="../../../com/facebook/imagepipeline/datasource/BaseBitmapDataSubscriber.html">BaseBitmapDataSubscriber</a>,
            
              <a href="../../../com/facebook/imagepipeline/datasource/BaseListBitmapDataSubscriber.html">BaseListBitmapDataSubscriber</a>
            
          
      </div>
      <div id="subclasses-direct-summary"
              style="display: none;"
              >
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../com/facebook/imagepipeline/datasource/BaseBitmapDataSubscriber.html">BaseBitmapDataSubscriber</a></td>
              <td class="jd-descrcol" width="100%">Implementation of <code><a href="../../../com/facebook/datasource/DataSubscriber.html">DataSubscriber</a></code> for cases where the client wants access to a bitmap.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../com/facebook/imagepipeline/datasource/BaseListBitmapDataSubscriber.html">BaseListBitmapDataSubscriber</a></td>
              <td class="jd-descrcol" width="100%">Implementation of <code><a href="../../../com/facebook/datasource/DataSubscriber.html">DataSubscriber</a></code> for cases where the client wants to access
 a list of bitmaps.&nbsp;</td>
          </tr>
  </table>
      </div>
  </div>
</td></tr></table>




<div class="jd-descr">


<h2>Class Overview</h2>
<p>Base implementation of <code><a href="../../../com/facebook/datasource/DataSubscriber.html">DataSubscriber</a></code> that ensures that the data source is closed when
 the subscriber has finished with it.
 <p>
 Sample usage:
 <pre>
 <code>
 dataSource.subscribe(
   new BaseDataSubscriber() {
     @Override
     public void onNewResultImpl(DataSource dataSource) {
       // Store image ref to be released later.
       mCloseableImageRef = dataSource.getResult();
       // Use the image.
       updateImage(mCloseableImageRef);
       // No need to do any cleanup of the data source.
     }

     @Override
     public void onFailureImpl(DataSource dataSource) {
       // No cleanup of the data source required here.
     }
   });
 </code>
 </pre>
</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>























<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>



	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#BaseDataSubscriber()">BaseDataSubscriber</a></span>()
        
  </td></tr>



</table>






<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>



	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onCancellation(com.facebook.datasource.DataSource<T>)">onCancellation</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever the request is cancelled (a request being cancelled means that is was closed
 before it finished).</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onFailure(com.facebook.datasource.DataSource<T>)">onFailure</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever an error occurs inside of the pipeline.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onNewResult(com.facebook.datasource.DataSource<T>)">onNewResult</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever a new value is ready to be retrieved from the DataSource.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onProgressUpdate(com.facebook.datasource.DataSource<T>)">onProgressUpdate</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called when the progress updates.</div>
  
  </td></tr>



</table>




<!-- ========== METHOD SUMMARY =========== -->
<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>



	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onFailureImpl(com.facebook.datasource.DataSource<T>)">onFailureImpl</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/BaseDataSubscriber.html#onNewResultImpl(com.facebook.datasource.DataSource<T>)">onNewResultImpl</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
  </td></tr>



</table>





<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Methods</div></th></tr>


<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.Object-trigger"
          src="../../../../assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From class

  java.lang.Object

<div id="inherited-methods-java.lang.Object">
  <div id="inherited-methods-java.lang.Object-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            Object
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">clone</span>()
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            boolean
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">equals</span>(Object arg0)
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">finalize</span>()
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            Class&lt;?&gt;
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">getClass</span>()
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            int
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">hashCode</span>()
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">notify</span>()
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">notifyAll</span>()
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            
            
            
            String
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">toString</span>()
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">wait</span>(long arg0, int arg1)
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">wait</span>(long arg0)
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            
            
            final
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad">wait</span>()
        
  </td></tr>


</table>
  </div>
</div>
</td></tr>



<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.facebook.datasource.DataSubscriber" class="jd-expando-trigger closed"
          ><img id="inherited-methods-com.facebook.datasource.DataSubscriber-trigger"
          src="../../../../assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  <a href="../../../com/facebook/datasource/DataSubscriber.html">com.facebook.datasource.DataSubscriber</a>

<div id="inherited-methods-com.facebook.datasource.DataSubscriber">
  <div id="inherited-methods-com.facebook.datasource.DataSubscriber-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-com.facebook.datasource.DataSubscriber-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/DataSubscriber.html#onCancellation(com.facebook.datasource.DataSource<T>)">onCancellation</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever the request is cancelled (a request being cancelled means that is was closed
 before it finished).</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/DataSubscriber.html#onFailure(com.facebook.datasource.DataSource<T>)">onFailure</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever an error occurs inside of the pipeline.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/DataSubscriber.html#onNewResult(com.facebook.datasource.DataSource<T>)">onNewResult</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called whenever a new value is ready to be retrieved from the DataSource.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol">
            abstract
            
            
            
            
            void
        </td>
        <td class="jd-linkcol" width="100%">
        <span class="sympad"><a href="../../../com/facebook/datasource/DataSubscriber.html#onProgressUpdate(com.facebook.datasource.DataSource<T>)">onProgressUpdate</a></span>(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)
        
        <div class="jd-descrdiv">Called when the progress updates.</div>
  
  </td></tr>


</table>
  </div>
</div>
</td></tr>


</table>


</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- Fields -->


<!-- Public ctors -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>



<a id="BaseDataSubscriber()"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        
      </span>
      <span class="sympad">BaseDataSubscriber</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->

<h2>Public Methods</h2>



<a id="onCancellation(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">onCancellation</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Called whenever the request is cancelled (a request being cancelled means that is was closed
 before it finished).

 <p>No further results will be produced after this method is called.</p></div>

    </div>
</div>


<a id="onFailure(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">onFailure</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Called whenever an error occurs inside of the pipeline.

 <p>No further results will be produced after this method is called.

 <p>The throwable resulting from the failure can be obtained using
 <code>dataSource.getFailureCause</code>.</p></div>

    </div>
</div>


<a id="onNewResult(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">onNewResult</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Called whenever a new value is ready to be retrieved from the DataSource.

 <p>To retrieve the new value, call <code>dataSource.getResult()</code>.

 <p>To determine if the new value is the last, use <code>dataSource.isFinished()</code>.</p></div>

    </div>
</div>


<a id="onProgressUpdate(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">onProgressUpdate</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Called when the progress updates.</p></div>

    </div>
</div>





<!-- ========= METHOD DETAIL ======== -->

<h2>Protected Methods</h2>



<a id="onFailureImpl(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
        abstract 
         
        void
      </span>
      <span class="sympad">onFailureImpl</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<a id="onNewResultImpl(com.facebook.datasource.DataSource<T>)"></a>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        protected 
         
         
        abstract 
         
        void
      </span>
      <span class="sympad">onNewResultImpl</span>
      <span class="normal">(<a href="../../../com/facebook/datasource/DataSource.html">DataSource</a>&lt;T&gt; dataSource)</span>
    </h4>
      <div class="api-level">
        <div>

</div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= END OF CLASS DATA ========= -->
<a id="navbar_top"></a>

<div id="footer">
Generated by <a href="http://code.google.com/p/doclava/">Doclava</a>.
</div> <!-- end footer -->

</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content --> 

<script type="text/javascript">
init(); /* initialize doclava-developer-docs.js */
</script>

</body>
</html>
